Scripting 应用支持通过全局函数 Health.queryCategorySamples()
访问 HealthKit 中的分类健康数据。分类样本表示某一健康事件或状态的记录,通常包括起止时间和一个离散的状态值,例如:睡眠分析、冥想记录、经期流量、排卵测试结果等。
本文将介绍如何查询、解析并使用这些分类数据。
Category Sample(分类样本) 包含以下信息:
type
:样本的分类类型(如 "sleepAnalysis"
、"mindfulSession"
)startDate
/ endDate
:事件发生的起止时间value
:表示事件状态的整数值,需使用对应的枚举进行解释metadata
:可选的附加信息常见示例:
"sleepAnalysis"
对应的值可以是 asleepCore
、awake
、inBed
"menstrualFlow"
对应的值可以是 mild
、moderate
、severe
参数名 | 描述 |
---|---|
categoryType |
要查询的分类数据类型(如 "sleepAnalysis" ) |
startDate / endDate |
筛选结果的时间范围 |
limit |
返回的最大样本数量 |
strictStartDate / strictEndDate |
是否严格匹配起止时间 |
sortDescriptors |
可选排序规则,例如按 startDate 、endDate 或 value 排序 |
你可以使用对应的枚举来解释 value
值:
HealthCategorySample
实例.value
是一个整数,需要使用对应类型的枚举进行解释.metadata
字段为可选,可提供附加信息(如来源、标签等)要读取分类样本数据:
Health.queryCategorySamples(categoryType, options)
.value
配合相应枚举来解释数据含义该 API 提供了对基于事件的健康数据的结构化访问方式,适用于日志展示、趋势分析等场景。